Interactive text processing systems generally comprise a microprocessor or personal computer, a keyboard which the operator uses to enter data into the system, a display device for displaying selected information to the operator, a diskette drive and diskette which function to transfer both text data and programs to and from the microprocessor, and lastly one or more printers for providing hard copy of documents that have been processed by the system. Next processing systems are interactive in the sense that the actions and responses of the operator and the corresponding reactions and responses of the system must be closely coupled and structured. The degree of interaction does vary among systems and is driven by considerations such as the number and complexity of the text processing tasks to be performed, the level of knowledge and experience of the intended operators with data processing systems in general and other text processing systems in particular, and a desire to appear "user friendly" to the prospective purchasers. Where the operator is expected to be relatively knowledgeable, the text processor is designed to respond to specific commands that the operator has committed to memory along with rules of syntax and a complete understanding of the function that will be performed by each command. Where the operators are expected to be less experienced the text processing program is usually designed to be more user friendly in that the operator is presented with a multi-level menu approach, each of which includes guidance information and prompts to assist the operator in selecting one of a plurality of options that are presented. The operator is not required to memorize any commands and is only expected to known the terms employed in the menus and the tasks that are to be accomplished. The ability of the system to assist the inexperienced operator in performing complex unfamiliar text processing tasks is important to the success and market acceptance since it bears directly on operator efficiency and attitude.
Text processing systems were initially dedicated systems in which the various system components including the text processing programs were designed and developed as a system from the beginning and generally reflected a consistent design philosophy throughout the entire system. Recently however, with the advent of reasonably priced personal computers, most text processing systems currently are not dedicated systems. The text processing application is only one of several applications that the system supports. As a result of the increased market growth two of the major components of a conventional text processing system, namely the text processing program and the printer, are in most cases no longer designed with each other in mind. The operator or user therefore generally faces one of two situations. The first is that the text processing program has a number of printer related functions which the printer attached to the system is incapable of performing or secondly the printer has been provided with a number of functions that are not supported by the text processing program.
The program which controls the overall printing function may or may not be an integral part of the text processing program. For purposes of the present discussion it will be assumed that the text processing program does include the printing function because the nature of the problems encountered by the operator are basically the same and result from the relatively large number and diversity of printer types that may be attached to the system and the even larger number and diversity of text processing programs that may be run by most personal computers.
Assuming however that the functions of the text processing program and the printer have been matched at the functional level, two other types of problems have to be addressed. The first is basically a communications problem in that while a degree of standardization exists in the encoding of text characters (i.e. ASCII standard) there is no agreed standard on printer control character sequences that control the formatting of the document during printing among either the developers of the text processing programs or the developers of the printers. As a result such mundane situations as indicating that the end of a line has been reached is manifested by at least two different control sequences so that unless the text processor program or the print program for the system knows how that particular control is interpreted by the attached printer, the printer may or may not also cause a line feed to occur. The second type of problem which may be encountered relates to the positioning of the document image on the paper and results primarily from the fact that printers have various paper handling and positioning mechanisms and systems. This causes the position of the top and side edges of the paper relative to the home position of the print element to be different for different printers.
The first problem is addressed by the method and system described and claimed in co-pending application Ser. No. 664,181 filed concurrently herewith in the name of Allen Heath, titled TABLE DRIVEN PRINT FORMATTING, and assigned to the assignee of the present invention. The second problem is addressed in this application which describes a method and system that permits the operator to interactively enter into the system the data concerning the paper positioning parameters and characteristics of each printer attached to the system so that the same document image printed by two printers attached to the system and having different paper positioning characteristics will nevertheless produce two documents which are substantially identical. Such an arrangement is advantageous from a practical standpoint where the text processing system has a relatively fast dot matrix printer which is used for printing draft copies and also a slower high quality letter quality printer. The dot matrix printer conventionally employs a pin-feed tractor mechanism for moving continuous fan-folded paper relative to the horizontal print line traversed by the print head. The letter quality printer on the other hand is likely to employ an automatic sheet feed mechanism that is capable of feeding letter head sheets from one draw, plain second sheets from a second drawer, and envelopes from a third position. Being able to print the draft copy with the image of the document placed exactly as it will appear on the final copy avoids the situation of the operator having to mentally transpose the image to the final copy only to find out after it is actually printed that it is not acceptable.
The disclosed method is also advantageously employed in situations where document interchange occurs frequently between systems having different printers. An example of this occurs where documents are distributed by sending the magnetic media or where the document is sent by "electronic mail".